Web 開發總是有許多不同方向,讓我們來學習一下 webDAV
http 裡面其實有許多定義,大部分的使用方式在 webDAV 裡面都已經有完整的定義。為什麼要這樣子規範其實很多人都不太清楚,今天這邊大約說一下怎麼樣從 webDAV 了解 http 。
http 大部分的人學習的時候並沒有特別去著墨,也沒有太多人去教學如何使用這些方法進行正確的方式,如果說 html 是整個網站的文章的話,那 webDAV 應該可以稱為 http 的動詞。
http GET method
這是一個我們常見的方式,從 get 方式,可以在 url 上面取得資料,透過 ? 以後的資料,直接取得變數,如果說以 php 為例子的話,我們可以看成這樣。
$_GET
如此一來就可以取得 parameter 從 get 的方法取得,GET 在 webDAV 裡面定義為讀取。故明思義就是我們可以透過 get 的這種方式進行很直覺的讀取。
http POST
post 對於習慣 web 開發者來說應該並不陌生,可是在 post 真正的使用實機,卻沒有太多人進行了解。
post 用來定義為 『新增』,我們可以將他是為是一種 [add ] ,了解 post 是這樣的動詞之後,在語意上我們也可以將此定義為『新增』,如果有任何資料需要進行新增或者任何資料需要進行資料的增加,都可以使用這個動詞。
http put
開始進入到這個詞句,通常到了 put 就比較少人使用,在 put, 我們可以視為他是一種『更新』,因此可以透過 put 這種發方法進行更新,以及資料的調整,如果有任何的系統,或者 raw 需要進行更新的時候,適當的語句應該就是要使用 put 。
當然因應在早期的行為中,大部分的實作只有 get , post ,因此到了 put 的方式,會採用 post 加上某個變數,作為 put 實際運作時候的一個識別,但是目前的 apache, nginx 都已經支援。
http delete
delete 這個動詞,聞其名,自然知道他是 『刪除』的一種實現方式,而在 webDAV 裡面他就用來作為『刪除』的動詞,如果有任何資料需要刪除,或者是進行刪減的時候就會使用到 delete 的這種方法。
比較早先,很多時候其實都不知道可以使用 delete 這種方式,因此誤用了許多 post 方法,讓整個程式看起來沒有這麼明顯。整個架構也比較複雜。
//=======
很多規範其實都有考慮到本質和語意上的問題,當然很多時候,因為早期的瀏覽器並沒有實作 ,或者是 web server 並沒有提供這方面的支援,不過到了中後期也沒有太大的改變,許多人因為前人的程式編寫方式,使用方式,導致新的方法並沒有被激盪出來。
很多時候 open source 創造出另外一股活血,特別是資料透明化之後,例如 w3c 的資料是可以直接透過 google 網路搜尋,立即找到解答。目前這些東西都已經有了許多好的方向。
之後也許會有許多變更,不過到目前為止,其實 webDAV 已經是十幾年前就訂定下來的標準,讓我們真正朝向標準化吧。
* http://ihower.tw/blog/archives/6483
* http://www.w3.org/Protocols/
* http://en.wikipedia.org/wiki/WebDAV